home *** CD-ROM | disk | FTP | other *** search
- 10 DEFINT A-Y:DIM C(5),K(18,7),F(5),A$(7),S(6,5),M(13),TN(6),DU(6):KEY OFF:COLOR 15,0,0:WIDTH 80:LOCATE ,,0:randomize timer:GOTO 5230
- 20 SCREEN 0,1:RESTORE 70:FOR N=1 TO 6:READ TN(N):NEXT
- 40 GOSUB 3700
- 50 C1=39:C2=63:C3=33:C4=56
- 60 CLS:GOSUB 3330
- 70 DATA 49,51,53,54,56,61
- 80 GOSUB 4920:REM draw yatzee board
- 100 LOCATE 25,1,0
- 110 PRINT"How many players? ";:GOSUB 990
- 120 GOSUB 5200: N=ASC(KB$)-48
- 130 IF N<1 OR N>5 THEN 100
- 140 IF N<5 THEN GOSUB 4600
- 150 IF CC=1 THEN GOSUB 4080
- 160 FOR A= 1 TO N
- 170 LOCATE 25,1:PRINT SPACE$(70);:LOCATE 25,1
- 180 Color 15:PRINT"Player Number"A;"Name please ";
- 190 GOSUB 990:LINE INPUT ;A$(A):IF A$(A)= "" THEN SOUND 3000,.1:GOTO 170
- 200 A$(A)=LEFT$(A$(A),9)
- 210 NEXT A
- 220 IF CC=1 THEN N=N+1:A$(N)="Computer"
- 230 LOCATE 23,1,0
- 240 A= 0
- 250 REM
- 260 REM NEXT ROLL PRESET
- 270 REM
- 280 A=A+1:IF A>N THEN A=1
- 290 H=0:GOSUB 3940
- 300 IF A=0 THEN 3380
- 310 IF K(18,A)=2 THEN 280
- 320 LOCATE 23,1:PRINT SPACE$(60);
- 330 LOCATE 23,4*(A-1)+14:PRINT A$(A);
- 340 REM
- 350 REM INITIAL ROLL
- 360 REM
- 370 H=H+1:MR=0
- 380 FOR B=1 TO 5
- 390 J=B-1:C(B)=INT(6*RND(1)+1)
- 400 DIE=C(B):F(B)=0
- 410 GOSUB 3860:GOSUB 4130
- 420 NEXT B
- 430 IF A*CC=N THEN 1040
- 440 REM
- 450 REM PLAYER SELECTS QTY TO ROLL
- 460 REM
- 470 GOSUB 5180
- 480 IF H>2 THEN 840
- 490 Color 14:PRINT" How many dice to roll again? ";:GOSUB 980:GOSUB 5200:F$=KB$:PRINT F$;:F=ASC(F$)-48:LOCATE ,,0
- 500 IF F=-1 THEN GOSUB 5220
- 510 IF F<0 OR F>5 THEN 470
- 520 IF F=0 THEN 840
- 530 IF F=5 THEN 340
- 540 REM
- 550 REM PLAYER SELECTS DICE TO ROLL
- 560 REM
- 570 H=H+1
- 580 GOSUB 5180
- 590 FOR NN=1 TO 4:F(NN)=0:NEXT
- 600 Color 13:PRINT" Roll which";F;"dice again ";
- 610 GOSUB 990:FOR ND=1 TO F
- 620 GOSUB 5200:F$=KB$::F(ND)=ASC(F$)-48:GOSUB 1020:IF F(ND)=0 AND ND=1 THEN ND=F:GOTO 640
- 630 IF F(ND)<1 OR F(ND)>5 THEN 620
- 640 PRINT F(ND);:NEXT
- 650 X=2:XF=0
- 660 FOR J=1 TO F
- 670 IF F=1 THEN 690
- 680 IF F(J)=F(J+1)THEN X=1
- 690 IF F(1)=0 THEN XF=1
- 700 NEXT J:IF XF=1 THEN H=H-1:GOTO 470
- 710 ON X GOTO 580,720
- 720 REM
- 730 REM PLAYER ROLLS DICE AGAIN
- 740 REM
- 750 FOR B=1 TO 4
- 760 IF F(B)=0 THEN 820
- 770 C(F(B))=INT(6*RND(1)+1)
- 780 DIE=C(F(B)):J=F(B)-1
- 790 GOSUB 3860
- 800 GOSUB 4130
- 810 F(B)=0
- 820 NEXT B
- 830 GOTO 440
- 840 REM
- 850 REM PLAY BOARD NUMBER
- 860 REM
- 870 GOSUB 5180
- 880 Color 15:PRINT " Play board position? ";:
- 881 kb$=inkey$:on instr("@AaBbCcDdEeFfGgHhIiJjKkLlMm"+chr$(27), KB$)+1 goto 881,881,884,884,884,884,884,884,884,884,884,884,884,884,884,884,884,884,884,884,884,884,884,884,884,884,884,884,3680
- 884 gosub 980:I$=KB$:if asc(i$)>96 then i$=chr$(asc(kb$)-32)
- 885 I=ASC(I$)-64:LOCATE ,,0:
- 890 GOSUB 1020:PRINT I$;:GOTO 920
- 900 PRINT I$;
- 920 IF I=12 AND K(12,A)>-1 THEN 1040
- 930 IF K(I,A)=0 THEN 1040
- 940 LOCATE 24,1:sound 3000,.1
- 950 Color 12:PRINT"NO - NO - DUMMY - - TRY AGAIN";:Delay 2:LOCATE 24,1:PRINT SPACE$(60);
- 960 LOCATE 25,1:PRINT SPACE$(60);:LOCATE 25,1
- 970 GOTO 880
- 980 REM HIGH PITCH CLICK
- 990 PLAY"L64T200N70":RETURN
- 1000 REM GLISSANDO SOUND
- 1010 PLAY"MBt255MLL64O5CC#DD#EFF#GG#AA#B":RETURN
- 1020 ' LO PITCH CLICK
- 1030 PLAY "L64T200N46":RETURN
- 1040 REM
- 1050 REM DICE LOGIC
- 1060 REM CLEAR/SET S(M,K)
- 1070 LOCATE 25,1:PRINT SPACE$(70);
- 1080 FOR M=0 TO 6
- 1090 FOR K=0 TO 5
- 1100 S(M,K)=0
- 1110 NEXT K
- 1120 NEXT M
- 1130 FOR J=1 TO 5
- 1140 X=C(J):S(X,0)=S(X,0)+1
- 1150 P=S(X,0):S(X,P)=J
- 1160 NEXT J
- 1170 REM
- 1180 REM SET S(0,K)=M SEQUENCE BY QTY
- 1190 REM
- 1200 X=0
- 1210 FOR J=5 TO 1 STEP -1
- 1220 FOR M=6 TO 1 STEP -1
- 1230 IF S(M,0)<>J THEN 1250
- 1240 S(0,X)=M:X=X+1
- 1250 NEXT M
- 1260 NEXT J
- 1270 IF A*CC=N THEN 1640
- 1280 IF I>6 THEN 1360
- 1290 REM
- 1300 REM CHECK PLAYER BOARD 1-6
- 1310 REM
- 1320 GOSUB 4710
- 1330 IF X=-1 THEN 1620
- 1340 K(I,A)=I*S(S(0,X),0)
- 1350 GOTO 2880
- 1360 REM
- 1370 REM CHECK PLAYER BOARD 7-13
- 1380 REM
- 1390 ON I-6 GOTO 1400,1420,1440,1460,1510,1550,1580
- 1400 IF S(S(0,0),0)<3 THEN 1620
- 1410 GOSUB 4790:GOTO 2880
- 1420 IF S(S(0,0),0)<4 THEN 1620
- 1430 GOSUB 4790:GOTO 2880
- 1440 IF S(S(0,0),0)<>3 OR S(S(0,1),0)<>2 THEN 1620
- 1450 K(9,A)=25:GOTO 2880
- 1460 IF S(1,0)>0 AND S(2,0)>0 AND S(3,0)>0 AND S(4,0)>0 THEN 1500
- 1470 IF S(2,0)>0 AND S(3,0)>0 AND S(4,0)>0 AND S(5,0)>0 THEN 1500
- 1480 IF S(3,0)>0 AND S(4,0)>0 AND S(5,0)>0 AND S(6,0)>0 THEN 1500
- 1490 GOTO 1620
- 1500 K(10,A)=30:GOTO 2880
- 1510 IF S(1,0)AND S(2,0) AND S(3,0) AND S(4,0)AND S(5,0)=1 THEN 1540
- 1520 IF S(2,0) AND S(3,0) AND S(4,0) AND S(5,0) AND S(6,0)=1 THEN 1540
- 1530 GOTO 1620
- 1540 K(11,A)=40:GOTO 2880
- 1550 IF S(S(0,0),0)<>5 THEN 1620
- 1560 IF K(12,A)=0 THEN K(12,A)=50:GOTO 2880
- 1570 K(12,A)=K(12,A)+100:GOTO 2880
- 1580 GOSUB 4790:GOTO 2880
- 1590 REM
- 1600 REM SET PLAYER INVALID
- 1610 REM
- 1620 K(I,A)=-1
- 1630 GOTO 2880
- 1640 REM
- 1650 REM COMPUTER CHECKS
- 1660 REM
- 1670 I=12:LOCATE 25,1:PRINT SPACE$(70);
- 1680 IF S(S(0,0),0)=5 AND K(12,A)=0 THEN K(12,A)=50:GOTO 2880
- 1690 IF S(S(0,0),0)=5 AND K(12,A)>0 THEN K(12,A)=K(12,A)+100:GOTO 2880
- 1700 I=8
- 1710 IF S(S(0,0),0)=4 AND K(8,A)=0 THEN GOSUB 4790:GOTO 2880
- 1720 I=9
- 1730 IF S(S(0,0),0)=3 AND S(S(0,1),0)=2 AND K(9,A)=0 THEN K(9,A)=25:GOTO 2880
- 1740 IF K(11,A)<>0 THEN 1800
- 1750 I=11
- 1760 IF S(1,0)AND S(2,0) AND S(3,0) AND S(4,0) AND S(5,0)=1 THEN 1790
- 1770 IF S(2,0)AND S(3,0) AND S(4,0) AND S(5,0) AND S(6,0)=1 THEN 1790
- 1780 GOTO 1800
- 1790 K(11,A)=40:GOTO 2880
- 1800 IF K(10,A)<>0 THEN 1870
- 1810 I=10
- 1820 IF S(1,0)>0 AND S(2,0)>0 AND S(3,0)>0 AND S(4,0)>0 THEN 1860
- 1830 IF S(2,0)> 0 AND S(3,0)> 0 AND S(4,0)> 0 AND S(5,0)> 0 THEN 1860
- 1840 IF S(3,0)> 0 AND S(4,0)> 0 AND S(5,0)> 0 AND S(6,0)> 0 THEN 1860
- 1850 GOTO 1870
- 1860 K(10,A)=30:GOTO 2880
- 1870 IF H<3 THEN 2040
- 1880 I=6
- 1890 IF S(6,0)>2 AND K(6,A)=0 THEN K(6,A)=6*S(6,0):GOTO 2880
- 1900 I=5
- 1910 IF S(5,0)>2 AND K(5,A)=0 THEN K(5,A)=5*S(5,0):GOTO 2880
- 1920 I=4
- 1930 IF S(4,0)>2 AND K(4,A)=0 THEN K(4,A)=4*S(4,0):GOTO 2880
- 1940 I=3
- 1950 IF S(3,0)>2 AND K(3,A)=0 THEN K(3,A)=3*S(3,0):GOTO 2880
- 1960 I=7
- 1970 IF S(S(0,0),0)>2 AND K(7,A)=0 THEN GOSUB 4790:GOTO 2880
- 1980 I=2
- 1990 IF S(2,0)>2 AND K(2,A)=0 THEN K(2,A)=2*S(2,0):GOTO 2880
- 2000 I=1
- 2010 IF S(1,0)>2 AND K(1,A)=0 THEN K(1,A)=S(1,0):GOTO 2880
- 2020 I=13:IF K(13,A)<>0 THEN 2040
- 2030 IF C(1)+C(2)+C(3)+C(4)+C(5)>19 THEN GOSUB 4790:GOTO 2880
- 2040 REM
- 2050 REM CLEAR DICE NUMBER F(B)
- 2060 REM COMPUTER
- 2070 REM
- 2080 FOR B=1 TO 5
- 2090 F(B)=0
- 2100 NEXT B
- 2110 REM
- 2120 REM GET DICE CONTROL
- 2130 REM COMPUTER
- 2140 REM
- 2150 H=H+1:IF H>3 THEN 2740
- 2160 I=M(MR):IF I<>0 THEN 2190
- 2170 MR=MR+1:IF MR>13 THEN MR=1
- 2180 GOTO 2160
- 2190 IF I=12 AND K(12,A)>-1 THEN 2230
- 2200 IF K(I,A)<>0 THEN 2170
- 2210 IF I=9 THEN 2340
- 2220 IF I=10 OR I=11 THEN 2460
- 2230 REM
- 2240 REM GET DICE 1,2,3,4
- 2250 REM COMPUTER
- 2260 REM
- 2270 M=0:J=1
- 2280 M=M+ 1:IF M>4 THEN 2620
- 2290 K=S(0,M):IF K=0 THEN 2620
- 2300 FOR L=1 TO S(K,0)
- 2310 F(J)=S(K,L):J=J+1
- 2320 NEXT L
- 2330 GOTO 2280
- 2340 REM
- 2350 REM GET DICE FH
- 2360 REM COMPUTER
- 2370 REM
- 2380 M=0:J=1
- 2390 M=M+1:IF M>4 THEN 2620
- 2400 K=S(0,M):IF K=0 THEN 2620
- 2410 IF K>1 THEN 2390
- 2420 FOR L=1 TO S(K,0)
- 2430 F(J)=S(K,L):J=J+1
- 2440 NEXT L
- 2450 GOTO 2390
- 2460 REM
- 2470 REM GET DICE LG/SM ST
- 2480 REM COMPUTER
- 2490 REM
- 2500 M=0:J=1
- 2510 M=M+1:IF M>4 THEN 2580
- 2520 K=S(0,M):IF K=0 THEN 2580
- 2530 IF S(K,0)=1 THEN 2510
- 2540 FOR L=1 TO S(K,0)
- 2550 F(J)=S(K,L):J=J+1
- 2560 NEXT L
- 2570 GOTO 2510
- 2580 IF F(1)<>0 THEN 2620
- 2590 L=INT(2*RND(1)+1)
- 2600 F(1)=5
- 2610 IF L=1 THEN F(1)=1
- 2620 REM
- 2630 REM COMPUTER ROLL AGAIN
- 2640 REM
- 2650 FOR B=1 TO 4
- 2660 IF F(B)<1 THEN 2710
- 2670 C(F(B))=INT(6*RND(1)+1)
- 2680 DIE=C(F(B)):J=F(B)-1
- 2690 GOSUB 3860
- 2700 GOSUB 4130
- 2710 F(B)=0
- 2720 NEXT B
- 2730 GOTO 1040
- 2740 REM
- 2750 REM COMPUTER MUST SCORE
- 2760 REM
- 2770 MR=MR+1:IF MR>13 THEN MR=1
- 2780 I=M(MR):IF I=0 THEN 2770
- 2790 IF K(I,A)<>0 THEN 2770
- 2800 IF I>6 THEN 2860
- 2810 GOSUB 4710
- 2820 IF X=-1 THEN 2870
- 2830 IF K(I,A)<>0 THEN 2770
- 2840 K(I,A)=S(I,0)*I
- 2850 IF K(I,A)<>0 THEN 2880
- 2860 IF I=13 AND K(13,A)=0 THEN GOSUB 4790
- 2870 IF K(I,A)=0 THEN K(I,A)=-1
- 2880 REM
- 2890 REM GET SCOREBOARD TOTALS
- 2900 REM
- 2910 FOR J=14 TO 17
- 2920 K(J,A)=0
- 2930 NEXT J
- 2940 FOR J=1 TO 6
- 2950 IF K(J,A)<0 THEN 2970
- 2960 K(15,A)=K(15,A)+K(J,A)
- 2970 NEXT J
- 2980 IF K(15,A)>62 THEN K(14,A)=35
- 2990 FOR J=7 TO 13
- 3000 IF K(J,A)<0 THEN 3020
- 3010 K(16,A)=K(16,A)+K(J,A)
- 3020 NEXT J
- 3030 K(17,A)=K(14,A)+K(15,A)+K(16,A)
- 3040 REM
- 3050 REM PRINT SCORE
- 3060 REM
- 3070 GOSUB 1010
- 3080 COLOR 15,0
- 3090 FOR J= 1 TO 6
- 3100 IF K(J,A)<0 THEN LOCATE J+1,4*(A-1)+15:PRINT" 0";:GOTO 3130
- 3110 IF K(J,A)<1 THEN 3130
- 3120 LOCATE J+1,4*(A-1)+15:PRINT USING"###";K(J,A);
- 3130 NEXT J
- 3140 FOR J=7 TO 13
- 3150 IF K(J,A)<0 THEN LOCATE J+4,4*(A- 1)+15:PRINT" 0":GOTO 3180
- 3160 IF K(J,A)<1 THEN 3180
- 3170 LOCATE J+4,4*(A-1)+15:PRINT USING"###";K(J,A)
- 3180 NEXT J
- 3190 LOCATE 9,4*(A-1)+15:PRINT USING"###";K(15,A)
- 3200 LOCATE 19,4*(A-1)+15:PRINT USING"###";K(16,A)
- 3210 LOCATE 20,4*(A-1)+15:PRINT USING"###";K(14,A)
- 3220 LOCATE 21,4*(A-1)+15:PRINT USING"###";K(17,A)
- 3230 COLOR 7,0
- 3240 IF A*CC<>N THEN 250
- 3250 REM
- 3260 REM RESET M(I) COMPUTER PRIORITIES
- 3270 REM
- 3280 FOR B=1 TO 13
- 3290 IF M(B)=12 THEN 3310
- 3300 IF M(B)=I THEN M(B)=0
- 3310 NEXT B
- 3320 GOTO 250
- 3330 REM
- 3340 REM INSTRUCTIONS
- 3350 REM
- 3360 RETURN
- 3370 RETURN
- 3380 REM
- 3390 REM END - SORT WINNER
- 3400 REM
- 3405 locate 23,1:print space$(60)
- 3410 X=2:IF N=1 THEN 3490
- 3420 FOR J=1 TO N-1
- 3430 IF K(17,J)>K(17,J+1) THEN 3470
- 3440 K=K(17,J):K(17,J)=K(17,J+1):K(17,J+1)=K
- 3450 A$=A$(J):A$(J)=A$(J+1):A$(J+1)=A$
- 3460 X=1
- 3470 NEXT J
- 3480 ON X GOTO 3380,3490
- 3490 REM
- 3500 REM PRINT WINNERS STANDINGS
- 3510 REM
- 3520 RESTORE 3810
- 3530 color 15:FOR J=1 TO N
- 3540 LOCATE 24,1:PRINT SPACE$(60);
- 3560 read a$:LOCATE 24,1:PRINT A$;" ";A$(J);:sound 3000,.1
- 3580 z=timer:while z+3>timer:wend
- 3600 NEXT J:color 7
- 3610 LOCATE 24,1:PRINT SPACE$(60);
- 3620 rem POKE &H417,(PEEK(&H417) OR &H40):REM UPPER CASE
- 3630 Delay 2
- 3640 REM
- 3650 GOSUB 990:Color 15:LOCATE 24,1:PRINT"Play again? Y/N ";
- 3660 Y$=INKEY$:IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" and y$<>"n" AND Y$<>CHR$(27) THEN 3660
- 3670 IF Y$="Y" OR Y$="y" THEN 40
- 3680 cls:END
- 3690 cls:END
- 3700 REM
- 3710 REM CLEAR MATRICES
- 3720 REM
- 3730 FOR K=1 TO 7
- 3740 FOR J=1 TO 18
- 3750 K(J,K)=0
- 3760 NEXT J
- 3770 A$(K)=""
- 3780 NEXT K
- 3790 CLS
- 3800 RETURN
- 3810 DATA " The Winner! "
- 3820 DATA " Second Place"," Third Place "
- 3830 DATA " Fourth Place "," Fifth Place "
- 3840 DATA " Sixth Place "," Dead Last"
- 3860 REM
- 3870 REM ERASE DIE
- 3880 REM
- 3890 COLOR 4,3:PRINT"";:
- 3900 LOCATE 4*J+3,50:PRINT" ";
- 3910 LOCATE 4*J+4,50:PRINT" ";
- 3920 LOCATE 4*J+5,50:PRINT" ";
- 3930 COLOR 7,0:RETURN
- 3940 REM
- 3950 REM CHECK IF DONE
- 3960 REM
- 3970 X=0
- 3980 FOR J=1 TO N
- 3990 Y=2
- 4000 FOR K= 1 TO 13
- 4010 IF K(K,J)=0 THEN Y= 1
- 4020 NEXT K
- 4030 K(18,J)=Y
- 4040 IF Y=2 THEN X=X+1
- 4050 NEXT J
- 4060 IF X=>N THEN A=0
- 4070 RETURN
- 4080 REM
- 4090 REM COMPUTER PRIORITIES INFO
- 4100 REM
- 4110 GOSUB 4880
- 4120 RETURN
- 4130 REM
- 4140 REM PRINT DIE
- 4150 REM
- 4160 COLOR 4,3
- 4170 REM
- 4180 rem PLAY"L32T200N"+STR$(TN(DIE))
- 4190 ON DIE GOTO 4530,4470,4410,4350,4290,4230
- 4200 REM
- 4210 REM SIX
- 4220 REM
- 4230 LOCATE 4*J+3,50:PRINT " ";CHR$(2);" ";CHR$(2);" ";CHR$(2);" ";
- 4240 LOCATE 4*J+4,50:PRINT " ";
- 4250 LOCATE 4*J+5,50:PRINT " ";CHR$(2);" ";CHR$(2);" ";CHR$(2);" ";:GOTO 4560
- 4260 REM
- 4270 REM FIVE
- 4280 REM
- 4290 LOCATE 4*J+3,50:PRINT " ";CHR$(2);" ";CHR$(2);" ";
- 4300 LOCATE 4*J+4,50:PRINT " ";CHR$(2);" ";
- 4310 LOCATE 4*J+5,50:PRINT " ";CHR$(2);" ";CHR$(2);" ";:GOTO 4560
- 4320 REM
- 4330 REM FOUR
- 4340 REM
- 4350 LOCATE 4*J+3,50:PRINT " ";CHR$(2);" ";CHR$(2);" ";
- 4360 LOCATE 4*J+4,50:PRINT " ";
- 4370 LOCATE 4*J+5,50:PRINT " ";CHR$(2);" ";CHR$(2);" ";:GOTO 4560
- 4380 REM
- 4390 REM THREE
- 4400 REM
- 4410 LOCATE 4*J+3,50:PRINT " ";CHR$(2);" ";
- 4420 LOCATE 4*J+4,50:PRINT " ";CHR$(2);" ";
- 4430 LOCATE 4*J+5,50:PRINT " ";CHR$(2);" ";:GOTO 4560
- 4440 REM
- 4450 REM TWO
- 4460 REM
- 4470 LOCATE 4*J+3,50:PRINT " ";CHR$(2);" ";
- 4480 LOCATE 4*J+4,50:PRINT " ";
- 4490 LOCATE 4*J+5,50:PRINT " ";CHR$(2);" ";:GOTO 4560
- 4500 REM
- 4510 REM ONE
- 4520 REM
- 4530 LOCATE 4*J+3,50:PRINT " ";
- 4540 LOCATE 4*J+4,50:PRINT " ";CHR$(2);" ";
- 4550 LOCATE 4*J+5,50:PRINT " ";:GOTO 4560
- 4560 REM GET OUT
- 4570 COLOR 7,0
- 4580 LOCATE 1,1
- 4590 RETURN
- 4600 REM
- 4610 REM COMPUTER OPTION
- 4620 REM
- 4630 CC=0
- 4640 LOCATE 25,1
- 4650 Color 11:PRINT"Do You wish to play against me? Y/N ";:GOSUB 990
- 4660 Y$=INKEY$:IF Y$="" THEN 4660 ELSE SOUND 3000,.1
- 4670 IF Y$="N" OR Y$="n" THEN RETURN
- 4680 IF Y$<>"Y" AND Y$<>"y" THEN 4640
- 4690 CC=1
- 4700 RETURN
- 4710 REM
- 4720 REM CHECK FOR ACES-SIXES ANY POSITION
- 4730 REM
- 4740 X=-1
- 4750 FOR J=0 TO 4
- 4760 IF S(0,J)=I THEN X=J
- 4770 NEXT J
- 4780 RETURN
- 4790 REM
- 4800 REM TOTAL DICE VALUE
- 4810 REM
- 4820 FOR J=1 TO 5
- 4830 K(I,A)=K(I,A)+C(J)
- 4840 NEXT J
- 4850 RETURN
- 4860 REM
- 4870 REM
- 4880 REM COMPUTER PRIORIRIES
- 4890 RESTORE 4900
- 4900 DATA 11,9,12,8,1,2,3,4,5,6,10,7,13
- 4910 FOR Y=1 TO 13:READ M(Y):NEXT :RETURN
- 4920 REM player's board
- 4930 CLS:COLOR 14
- 4940 PRINT" ╒═══╤═══╤═══╤═══╤═══╤═══╕
- 4950 PRINT"ACES........A│...│...│...│...│...│...│A"
- 4960 PRINT"TWOS........B│...│...│...│...│...│...│B"
- 4970 PRINT"THREES......C│...│...│...│...│...│...│C"
- 4980 PRINT"FOURS.......D│...│...│...│...│...│...│D"
- 4990 PRINT"FIVES.......E│...│...│...│...│...│...│E"
- 5000 PRINT"SIXES.......F│...│...│...│...│...│...│F"
- 5010 PRINT" ╞═══╪═══╪═══╪═══╪═══╪═══╡"
- 5020 PRINT"TOTAL UPPER..│...│...│...│...│...│...│"
- 5030 PRINT" ╞═══╪═══╪═══╪═══╪═══╪═══╡"
- 5040 PRINT"3 OF A KIND.G│...│...│...│...│...│...│G"
- 5050 PRINT"4 OF A KIND.H│...│...│...│...│...│...│H"
- 5060 PRINT"FULL HOUSE..I│...│...│...│...│...│...│I"
- 5070 PRINT"SM STRAIGHT.J│...│...│...│...│...│...│J"
- 5080 PRINT"LG STRAIGHT.K│...│...│...│...│...│...│K"
- 5090 PRINT"YATZEE......L│...│...│...│...│...│...│L"
- 5100 PRINT"CHANCE......M│...│...│...│...│...│...│M"
- 5110 PRINT" ╞═══╪═══╪═══╪═══╪═══╪═══╡"
- 5120 PRINT"TOTAL LOWER..│...│...│...│...│...│...│"
- 5130 PRINT"TOP BONUS....│...│...│...│...│...│...│"
- 5140 PRINT"GRAND TOTAL..│...│...│...│...│...│...│"
- 5150 PRINT" ╘═══╧═══╧═══╧═══╧═══╧═══╛"
- 5160 COLOR 15:FOR N=1 TO 5:LOCATE N*4,46:PRINT N;:NEXT
- 5170 COLOR 15:RETURN
- 5180 LOCATE 25,1:PRINT SPACE$(70);:LOCATE 25,1:RETURN
- 5190 ' KB INPUT AND ESCAPE
- 5200 KB$="":WHILE KB$="":KB$=INKEY$:WEND
- 5210 IF KB$=CHR$(27) THEN 3680 ELSE RETURN
- 5220 RETURN
- 5230 ' YAHTZEE
- 5240 ' ORIGINAL BY JL HELMS & MF PEZOK FOR COCO II
- 5250 ' CORONADO, CA
- 5260 ' ADAPTED TO IBM PC BY PATRICK LEABO
- 5270 ' TUCSON, AZ
- 5280 '
- 5290 CLS:LOCATE 2,33:PRINT "Y A H T Z E E":LOCATE 4,34:PRINT "Version 4.0"
- 5300 LOCATE 6,32:PRINT "October 19, 1995"
- 5310 LOCATE 8,28:PRINT "Originally Developed By"
- 5320 LOCATE 10,25:PRINT "J.L. HELMS & M.F. PEZOK"
- 5330 LOCATE 11,25:PRINT "1009 LEYTE RD / 1321 SAIPAN RD"
- 5340 LOCATE 12,29:PRINT "CORONADO, CA. 92118"
- 5350 LOCATE 13,27:PRINT "(714) 435-6992 / 437-4659"
- 5360 LOCATE 15,23:PRINT "ADAPTED TO IBM PC BY PATRICK LEABO"
- 5370 LOCATE 16,35:PRINT "TUCSON, AZ"
- 5380 LOCATE 18,20:PRINT "Corrected and further modified for the PC"
- 5390 LOCATE 19,22:PRINT "by James Huckabey (1987,1989,1995)"
- 5400 LOCATE 20,30:PRINT "3621-A Fraser Street"
- 5410 LOCATE 21,27:PRINT "Bellingham, WA 98226-2473"
- 5420 ' LOCATE 22,33:PRINT "(360) 671-2868"
- 5430 PRINT CHR$(11)
- 5440 GOSUB 990:LOCATE 24,27,0:PRINT "Press <Return> To Continue";
- 5450 IF INKEY$<>CHR$(13) THEN 5450
- 5460 '
- 5470 ' INSTRUCTIONS
- 5480 '
- 5490 CLS:PRINT TAB(29)"Y A H T Z E E":PRINT
- 5500 PRINT TAB(17)"This is the game of YAHTZEE - "
- 5510 PRINT TAB(17)"From 1 to 7 players may play at the same time"
- 5520 PRINT TAB(17)"with each players current status shown on the"
- 5530 PRINT TAB(17)"playing board, including TOTAL scores."
- 5540 PRINT
- 5550 PRINT TAB(17)"The only difference between this game and the"
- 5560 PRINT TAB(17)"world famous YAHTZEE home version, are the"
- 5570 PRINT TAB(17)"YAHTZEEs here ..... The first YAHTZEE scores"
- 5580 PRINT TAB(17)"50 POINTS, and each additional one will yield"
- 5590 PRINT TAB(17)"a bonus of 100 POINTS (If the YAHTZEE is put"
- 5600 PRINT TAB(17)"into the YAHTZEE block)..... In addition you"
- 5610 PRINT TAB(17)"will be given an extra turn at the end of"
- 5620 PRINT TAB(17)"the game (for each extra YAHTZEE put here).":PRINT
- 5630 PRINT TAB(17)"The WINNER will be announced at the end of"
- 5640 PRINT TAB(17)"the game - - But I wouldn't advice anyone"
- 5650 PRINT TAB(17)"to be last......."
- 5660 PRINT:PRINT
- 5670 GOSUB 990:Color 15:LOCATE 22,25,0:PRINT "Press <RETURN> to continue";
- 5680 IF INKEY$<>CHR$(13) THEN 5680
- 5720 GOTO 20